home *** CD-ROM | disk | FTP | other *** search
- CLEA
- SET BELL OFF
- SET TALK OFF
- USE phone
- GO BOTT
- STOR # TO stat
- IF FILE('phone.ndx')
- SET INDE TO phone
- ELSE
- ? 'Making new index'
- INDE ON !(name) TO phone
- ENDI
- STOR f TO flag,m1
- DO WHIL .not.m1
- ERAS
- @ 1,57 SAY stat USIN '#####'
- @ 1,63 SAY 'active entries.'
- @ 4,20 SAY ' '
- ?? '*** TELEPHONE DIRECTORY SYSTEM ***'
- @ 7,10 SAY 'Press In order to'
- @ 8,10 SAY '===== ======================================'
- @ 9,12 SAY 'S SEARCH directory to find or EDIT entry'
- @ 10,12 SAY 'A ADD a new entry to directory'
- @ 11,12 SAY 'D DELETE an existing entry'
- @ 12,12 SAY 'X EXIT directory system'
- @ 15,20 SAY ' '
- ?? 'Enter your choice here'
- STOR ' ' TO c1
- DO WHIL .not.c1$'SADX'
- STOR ' ' TO c1
- @ 15,45 GET c1 PICT '!'
- READ
- @ 22,0
- IF .not.c1$'SADX'
- @ 22,0 SAY 'Invalid selection'+chr(7)
- ENDI
- IF c1='X'
- STOR t TO m1
- @ 22,0
- @ 22,21 SAY 'Do you REALLY want to quit? (T/F) ' GET m1
- READ
- IF .not.m1
- STOR ' ' TO c1
- ENDI
- ENDI
- IF c1$('SD').and.stat=0
- @ 22,0 SAY 'No entries to edit'+chr(7)
- STOR ' ' TO c1
- ENDI
- ENDD
- IF m1
- LOOP
- ENDI
- ERAS
- @ 1,1 SAY ' '
- IF c1='S'
- ?? '(SEARCH / EDIT MODE)'
- ELSE
- IF c1='D'
- ?? '(DELETE MODE)'
- ELSE
- ?? '(ADD MODE)'
- ENDI
- ENDI
- @ 4,21 SAY ' '
- ?? '*** TELEPHONE DIRECTORY SYSTEM ***'
- @ 6,02 SAY 'Name .............'
- @ 8,02 SAY 'Office telephone .'
- @ 10,02 SAY 'Home telephone ..'
- @ 12,02 SAY 'Address .........'
- @ 15,02 SAY 'City ............'
- @ 15,42 SAY 'State'
- @ 15,55 SAY 'Zip'
- IF c1$'SD'
- STOR t TO s1
- DO WHIL s1
- STOR ' ' TO sname
- @ 22,21 SAY ' Enter any part of name to be searched. '
- @ 6,22 GET sname PICT '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
- READ
- COUN FOR TRIM(sname)$(!(name)).AND..NOT.* TO hold
- IF hold=0
- @ 22,21 SAY 'Unable to find name. Try again? (T/F) ' GET s1
- READ
- LOOP
- ELSE
- STOR f TO s1
- ENDI
- ENDD
- IF hold=0
- LOOP
- ENDI
- GO TOP
- LOCA FOR TRIM(sname)$(!(name)).AND..NOT.*
- STOR 1 TO cu
- @ 1,39 SAY 'Working # of matching entries.'
- @ 1,56 SAY hold USIN '###'
- DO WHIL .NOT.EOF
- @ 1,49 SAY cu USIN '###'
- @ 6,22 SAY name
- @ 8,22 SAY offphone
- @ 10,22 SAY homphone
- @ 12,22 SAY addr1
- @ 13,22 SAY addr2
- @ 14,22 SAY addr3
- @ 15,22 SAY city
- @ 15,50 SAY state
- @ 15,62 SAY zip
- STOR cu+1 TO cu
- STOR f TO de
- CLEA GET
- @ 22,0
- IF c1='D'
- @ 22,21 SAY 'Delete this entry? (T/F) ' GET de
- READ
- IF de
- DELE
- STOR stat-1 TO stat
- STOR t TO flag
- ENDI
- CONT
- LOOP
- ENDI
- IF c1='S'
- @ 22,21 SAY 'Edit this entry ? (T/F) ' GET de
- READ
- IF .not.de
- CONT
- LOOP
- ELSE
- STOR name TO mname
- STOR offphone TO moffphon
- STOR homphone TO mhomphon
- STOR addr1 TO maddr1
- STOR addr2 TO maddr2
- STOR addr3 TO maddr3
- STOR city TO mcity
- STOR state TO mstate
- STOR zip TO mzip
- STOR f TO de
- DO WHIL .not.de
- CLEA GET
- @ 6,21 GET mname PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- @ 8,21 GET moffphon PICT '(999) 999-9999'
- @ 10,21 GET mhomphon PICT '(999) 999-9999'
- @ 12,21 GET maddr1 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- @ 13,21 GET maddr2 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- @ 14,21 GET maddr3 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- @ 15,21 GET mcity PICT 'XXXXXXXXXXXXXXXXXX'
- @ 15,49 GET mstate PICT '!!'
- @ 15,61 GET mzip PICT '99999X9999'
- READ
- CLEA GET
- STOR t TO ck
- DO WHIL ck
- IF mstate+'.'$' .AL.AK.AZ.AR.CA.CO.CT.DE.DC.FL.GA.HI.ID.;
- IL.IN.IA.KS.KY.LA.ME.MD.MA.MI.MN.MS.MO.MT.NE.NV.NH.NJ.NM.NY.NC.ND.OH.;
- OK.OR.PA.RI.SC.SD.TN.TX.UT.VT.VA.WA.WV.WI.WY.'
- STOR f TO ck
- @ 22,0
- ELSE
- @ 22,0 SAY 'Invalid State'+chr(7)
- @ 15,49 GET mstate PICT '!!'
- READ
- CLEA GET
- LOOP
- ENDI
- ENDD
- STOR t TO de
- @ 22,21 SAY 'Is information correct? (T/F) ' GET de
- READ
- IF .not.de
- @ 22,21 SAY 'Change the desired information '
- ENDI
- ENDD
- REPL name WITH mname,offphone WITH moffphon,homphone WITH mhomphon,;
- addr1 WITH maddr1, addr2 WITH maddr2,addr3 WITH maddr3,city WITH mcity,;
- state WITH mstate,zip WITH mzip
- ENDI
- ENDI
- CONT
- ENDD
- ENDI
- IF c1='A'
- STOR t TO de
- DO WHIL de
- STOR ' ' TO mname
- STOR $(mname,1,14) TO moffphon,mhomphon
- STOR $(mname,1,30) TO maddr1,maddr2,maddr3
- STOR $(mname,1,18) TO mcity
- STOR $(mname,1,2) TO mstate
- STOR $(mname,1,10) TO mzip
- STOR f TO de
- DO WHIL .not.de
- CLEA GET
- @ 6,21 GET mname PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- @ 8,21 GET moffphon PICT '(999) 999-9999'
- @ 10,21 GET mhomphon PICT '(999) 999-9999'
- @ 12,21 GET maddr1 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- @ 13,21 GET maddr2 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- @ 14,21 GET maddr3 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- @ 15,21 GET mcity PICT 'XXXXXXXXXXXXXXXXXX'
- @ 15,49 GET mstate PICT '!!'
- @ 15,61 GET mzip PICT '99999X9999'
- READ
- CLEA GET
- STOR t TO ck
- DO WHIL ck
- IF mstate+'.'$' .AL.AK.AZ.AR.CA.CO.CT.DE.DC.FL.GA.HI.ID.;
- IL.IN.IA.KS.KY.LA.ME.MD.MA.MI.MN.MS.MO.MT.NE.NV.NH.NJ.NM.NY.NC.ND.OH.;
- OK.OR.PA.RI.SC.SD.TN.TX.UT.VT.VA.WA.WV.WI.WY.'
- STOR f TO ck
- @ 22,0
- ELSE
- @ 22,0 SAY 'Invalid State'+chr(7)
- @ 15,49 GET mstate PICT '!!'
- READ
- CLEA GET
- LOOP
- ENDIF
- ENDD
- STOR t TO de
- @ 22,21 SAY 'Is information correct? (T/F) ' GET de
- READ
- IF .not.de
- @ 22,21 SAY 'Change the desired information '
- ENDI
- ENDD
- APPE BLAN
- REPL name WITH mname,offphone WITH moffphon,homphone WITH mhomphon,;
- addr1 WITH maddr1, addr2 WITH maddr2,addr3 WITH maddr3,city WITH mcity,;
- state WITH mstate,zip WITH mzip
- STOR stat+1 TO stat
- CLEA GET
- @ 22,21 SAY 'Another entry now ? (T/F) ' GET de
- READ
- @ 22,0
- ENDD
- ENDI
- ENDD
- @ 22,0
- IF flag
- @ 22,0 SAY 'Packing database '
- COPY TO temp
- USE temp
- INDE ON !(name) TO phone
- USE
- SELE SECO
- USE
- DELE FILE phone.dbf
- RENA temp.dbf TO phone.dbf
- ENDI
- @ 22,0 SAY 'Program terminated '
- QUIT
- * STRUCTURE FOR FILE: PHONE.DBF
- * FLD NAME TYPE WIDTH
- * 001 NAME C 040
- * 002 OFFPHONE C 014
- * 003 HOMPHONE C 014
- * 004 ADDR1 C 030
- * 005 ADDR2 C 030
- * 006 ADDR3 C 030
- * 007 CITY C 018
- * 008 STATE C 002
- * 009 ZIP C 010
- * ** TOTAL ** 00190